#ifndef __USER_H__
#define __USER_H__

#include "stm32f4xx.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "led.h"
#include "lcd.h"

/*----------led-----------------*/
void led_init(void);
void led_turn_on(void);
void led_turn_off(void);
/*----------beep----------------*/
void buzzer_init(void);
void buzzer_turn_on(void);
void buzzer_turn_off(void);
/*----------systick----------------*/
void delay_config(void);
void delay_hs(uint32_t milliSecond);
void delay_ws(uint32_t microSecond);
/*----------key_exti----------------*/
void key_exti_init(void);
/*----------timer----------------*/
void timer2_init(uint16_t psc,uint16_t arr);
void TIM2_close(void);
/*----------usart1----------------*/
void usart1_init(void);
/*----------dht11----------------*/
void dht11_init(void);
void dht11_mode_out(void);
void dht11_mode_out(void);
uint8_t dht11_read_byte(void);
uint8_t dht11_read_5bytes(uint8_t alldata[5]);
/*----------iic----------------*/
void iic_init(void);
void iic_start(void);
void iic_end(void);
uint8_t iic_get_ack(void);
void iic_send_ack(uint8_t signal);
void iic_send_data(uint8_t data);
uint8_t iic_rec_data(void);
void at24c02_init(void);
uint8_t at24c02_write_data(uint8_t *data,uint8_t size,uint8_t begin);
uint8_t at24c02_read_data(uint8_t *data,uint8_t size,uint8_t begin);
/*----------spi----------------*/
void spi_init(void);
uint8_t spi_write_read(uint8_t sdata);
void w25q128_init(void);
uint16_t w25q128_id(void);
void w25q128_write_enable(void);
void w25q128_check_busy(void);
void w25q128_erase_chip(void);
void w25q128_erase_block(uint32_t addr);
uint32_t w25q128_write_data(uint8_t *data,uint32_t size,uint32_t addr);
uint32_t w25q128_read_data(uint8_t *data,uint32_t size,uint32_t addr);
#endif
